//promise异步实践  获取多个文件 解决回调地狱

//回调地狱实现
const fs = require ('fs');

// fs.readFile('./resource/weixue.md',(err,data1) => {
//     fs.readFile('./resource/chuhe.md',(err,data2) => {
//         fs.readFile('./resource/movie.md',(err,data3) => {
//             let result = data1 + data2 + data3;
//             console.log(result);
//         })
//     })
// })


//通过promise来实现
const promise = new Promise((resolve,reject) => {
    fs.readFile('./resource/weixue.md',(err,data) => {
        //data中的数据就是weixue中的数据
        resolve(data)
    })
});

//回调
promise.then(value => {
    // console.log(value.toString()); //此时返回的就是上面weixue中的内容

    //通过返回promise对象来返回
    return new Promise((resolve,reject) => {
        fs.readFile('./resource/chuhe.md',(err,data) => {
            //通过上面的验证，value是weixue文件夹中的内容，data中存放的是chuhe文件中的内容
            resolve([value,data])
        })
    })
}).then(value => {
    return new Promise((resolve,reject) => {
        fs.readFile('./resource/movie.md',(err,data) => {
           //此时value是存放上面两个文件夹的数据的数组，data是存放movie中的数据
           //此时网数组中push movie中的数据
            value.push(data);
            resolve(value)
        })
    })
}).then(value => {
    console.log(value.toString());
})